﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QuanLyQuanCafe.DataAccess;
using QuanLyQuanCafe.BusinessObject;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace QuanLyQuanCafe.BusinessObject
{
    class CT_HoaDonBL
    {
        KetNoiDuLieu connect = new KetNoiDuLieu();
        public DataTable DSCT_HoaDon()
        {
            string sql = "SELECT * FROM CT_HOADON";
            return connect.LayDanhSachDuLieu(sql);
        }
        public DataTable DSCT_HoaDon(string value)
        {
            string sql = "SELECT * FROM CT_HOADON WHERE MaHD = '"+value+"'";
            return connect.LayDanhSachDuLieu(sql);
        }



        public bool CheckCTHoaDon(string value1)
        {
            if (connect.KiemTraGiaTriTonTai("CT_HOADON", "MaHD", value1))
                return true;
            return false;
        }

        //Phan Cua VuVD
        public DataTable LayDanhSachTraCuuChiTietHoaDon(string maHD)
        {
            string sql = "SELECT CT_HOADON.SoLuong, CT_HOADON.DonGia, CT_HOADON.ThanhTien, MONAN.TenMon FROM CT_HOADON, MONAN WHERE CT_HOADON.MaMon = MONAN.MaMon AND CT_HOADON.MaHD = '" + maHD + "'";
            return connect.LayDanhSachDuLieu(sql);
        }
        //Phan Cua VuVD

        public bool CheckCTMonAn(string value1, string value2)
        {
            string sql = string.Format("SELECT * FROM CT_HOADON WHERE MaHD='"+value1+"' AND MaMon = '"+value2+"' ");
            DataTable dt = connect.LayDanhSachDuLieu(sql);
            if (dt.Rows.Count > 0)
                return true;
            return false;
        }

        public bool ThemCTHD(CT_HoaDonBO cthoadonBO)
        {
            if (TestSave(cthoadonBO))
            {
                string sql = string.Format("INSERT INTO CT_HOADON VALUES ('{0}', '{1}', '{2}','{3}', '{4}')", cthoadonBO.MaHD , cthoadonBO.MaMon, cthoadonBO.SoLuong, cthoadonBO.DonGia, cthoadonBO.ThanhTien);
                if (connect.ExecuteQuery(sql))
                {
                    //MessageBox.Show("Thêm Món Thành Công", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return true;
                }
            }
            return false;
        }
        /*
        public bool SuaCTMon(CT_HoaDonBO cthoadonBO)
        {
            if (TestSave(cthoadonBO))
            {
                string sql = string.Format("UPDATE CT_HOADON SET MaNL = '{0}', SoLuong = '{1}', MaDVT ='{2}'" + "WHERE MaMon = '{3}'", ctmonanBO.MaNL, ctmonanBO.SoLuong, ctmonanBO.MaDVT, ctmonanBO.MaMon);
                if (connect.ExecuteQuery(sql))
                {
                    MessageBox.Show("Sửa Thành Công", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return true;
                }
            }
            return false;
        }
        */
        public bool SuaCTMonHD(CT_HoaDonBO cthoadonBO)
        {
            if (TestSave(cthoadonBO))
            {
                string sql = string.Format("UPDATE CT_HOADON SET  SoLuong ='{0}', DonGia ='{1}', ThanhTien='{2}'" + " WHERE MaHD = '{3}'AND MaMon = '{4}'", cthoadonBO.SoLuong, cthoadonBO.DonGia, cthoadonBO.ThanhTien, cthoadonBO.MaHD, cthoadonBO.MaMon);
                if (connect.ExecuteQuery(sql))
                {
                    //MessageBox.Show("Sửa Chi tiết Hóa Đơn Thành Công", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return true;
                }
            }
            return false;
        }


        public bool XoaCTHoaDon(string value1, string value2)
        {
            string sql = string.Format("DELETE FROM CT_HOADON WHERE MaHD = '" + value1 + "' AND MaMon = '" + value2 + "'");
            if (connect.ExecuteQuery(sql))
            {
                //MessageBox.Show("Xóa Thành Công", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return true;
            }
            return false;
        }

        public bool XoaCTMaHD(string value)
        {
            string sql = string.Format("DELETE FROM CT_HOADON WHERE MaHD = '" + value + "'");
            if (connect.ExecuteQuery(sql))
            {
                return true;
            }
            return false;
        }

        public bool TestSave(CT_HoaDonBO cthoadonBO)
        {
            if (cthoadonBO.MaHD.Equals(""))
            {
                MessageBox.Show("Mã  Không Hợp Lệ", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }
            if (cthoadonBO.MaMon.Equals(""))
            {
                MessageBox.Show("Tên Món Không Hợp Lệ", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }
            if (cthoadonBO.SoLuong <= 0)
            {
                MessageBox.Show("Số Lượng Món Không Được Bằng 0", "Quản Lý Quán Cafe", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return false;
            }

            return true;
        }
    }
}
